import { localStorageUtils } from "../utils";
import { useRoute } from "vue-router";
//自定义指令
//注册全局的自定义指令
//感觉也差不多 还是要判断是是都是增删改查  所以还是用v-if吧
// export const permission = app => {
//   app.directive("permission", {
//     mounted(el, binding) {
//       console.log();
//       const permissions = localStorageUtils.get("btnPermission");
//       if (!permissions.length) {
//         return;
//       }
//       const type = binding.value || "";
//       ////获取当前的this实例
//       const vm = binding.instance;
//       ////当前菜单对应的路由信息
//       const route = vm.$route;
//       ///根据路由信息获取菜单权限信息,可获取到当前菜单的所有信息
//       ///这里表示用户所拥有的所有权限
//       const permissionBtns = JSON.parse(permissions);
//       //还需要判断是都存在  删除  新增  和添加
//       const status = permissionBtns.some(p => p.Router == route);
//       if (!status) {
//         el.style.display = "none";
//         el.parentNode.removeChild(el);//删除当前节点
//       }
//     },
//   });
// };
//action 分为 add delete  edit  search  4中按钮操作
// const actions = [
//   { action: "add", value: "新增" ,path:''},
//   { action: "delete", value: "删除",path:'' },
//   { action: "edit", value: "编辑" ,path:''},
//   { action: "search", value: "查询" ,path:''},
// ];
//直接定义在按钮事件里面吧   然后判断这个  add edit delete  searchTable   searchSingle
//使用的时候  导入文件  要return 出去  然后再 用v-if  输入参数是对应的设置的方法事件
// 细分到具体的按钮  要在按钮事件中去设置不同事件  然后对应输入的action  来丛判断是否要前端 的权限
//后端是更具配置的url地址和method来判断是都有这个权限的  项目差不多做完了现在来优化一下界面
export const isHasPermission = (action) => {
  const permissionsStr = localStorageUtils.get("btnPermission");
  const currentRoute = useRoute();
  if (!permissionsStr || !currentRoute.path) {
    return false;
  }

  //这个不用判断是不是0  下面some会判断的
  const permissions = JSON.parse(permissionsStr);
  return permissions.some((p) => p.action == action && currentRoute.path == "/" + p.path);
};
